package org.lemon.cla.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.time.LocalDateTime;

@Data
@TableName("club_activity")
@Schema(description = "社团活动实体")
public class ClubActivity {

    @TableId(value = "activity_id", type = IdType.AUTO)
    @Schema(description = "活动ID", example = "1")
    private Long activityId;

    @TableField("club_id")
    @Schema(description = "所属社团ID", example = "1")
    private Long clubId;

    @TableField("activity_name")
    @Schema(description = "活动名称", example = "编程马拉松")
    private String activityName;

    @TableField("cover_url")
    @Schema(description = "封面URL", example = "http://example.com/activity_cover.jpg")
    private String coverUrl;

    @Schema(description = "活动内容", example = "为期两天的编程比赛，挑战你的极限！")
    private String content;

    @Schema(description = "地点", example = "教学楼A栋101室")
    private String location;

    @TableField("signup_start")
    @Schema(description = "报名开始时间", example = "2024-07-01T09:00:00")
    private LocalDateTime signupStart;

    @TableField("signup_end")
    @Schema(description = "报名结束时间", example = "2024-07-15T18:00:00")
    private LocalDateTime signupEnd;

    @TableField("start_time")
    @Schema(description = "活动开始时间", example = "2024-07-20T09:00:00")
    private LocalDateTime startTime;

    @TableField("end_time")
    @Schema(description = "活动结束时间", example = "2024-07-21T18:00:00")
    private LocalDateTime endTime;

    @TableField("organizer_id")
    @Schema(description = "组织者ID (管理员ID)", example = "102")
    private Long organizerId;

    @TableField("participant_count")
    @Schema(description = "参与人数", example = "50")
    private Integer participantCount;
}